home *** CD-ROM | disk | FTP | other *** search
/ MACD 5 / MACD 5.bin / workbench / tools / czesc_4 / smallmath / source / source.doc < prev    next >
Text File  |  1993-01-24  |  1KB  |  29 lines

  1.  
  2. DAcos.a: Double-precision IEEE ArcCosine function.
  3. SAcos.a: Single-precision IEEE ArcCosine function.
  4. DPow.a:  Double-precision IEEE Power function.
  5. SPow.a:  Single-precision IEEE Power function.
  6. DTst.a:  Double-precision IEEE Test against zero.
  7. DCmp.a:  Double-precision IEEE Compare of two numbers.
  8.  
  9. These are basic examples of the source code for these libraries. Most of
  10. the functions are nearly identical to the ACos() function -- just change
  11. the FACOS to FSIN or whatever. The Pow() functions are the most interesting
  12. ones (I think). The DTst and DCmp functions are implemented as integer
  13. operations without the coprocessor, since (if I added correctly) even a
  14. worst-case path through them is faster than using the coprocessor. (This
  15. may be surprising, but keep in mind that to use the coprocessor you have to
  16. push and pop the arguments to and from the stack.) If anyone can write
  17. faster routines, let me know... The code is probably confusing, owing to
  18. spaghetti-coding on my part, but (knock wood) it works and is fast.
  19.  
  20. The formation into a resident library was done using SAS/C 6.0. The code
  21. was assembled with the SAS-supplied assembler asm. As far as I can tell,
  22. the SAS libent.a and libinit.c code are not freely distributable, and so
  23. are not included.
  24.  
  25. Laz Marhenke
  26. laz@leland.stanford.edu
  27.  
  28.  
  29.